package com.css.project.oa.cash.domain;

import com.css.framework.aspectj.lang.annotation.Excel;
import com.css.framework.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel("报销单实体")
public class ProCash extends BaseEntity {
    @ApiModelProperty("报销单主键")
    private Long id;

    @ApiModelProperty("报销单所属部门")
    private Long deptId;

    @ApiModelProperty("报销单报销日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expenseTime;

    @ApiModelProperty("报销人姓名")
    @Excel(name = "报销人姓名",exportFlag = "doneExport,auditExport")
    private String expenseName;

    @ApiModelProperty("费用产生开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cashTimeStart;

    @ApiModelProperty("费用产生结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cashTimeEnd;

    @Excel(name = "报销日期",width = 25,exportFlag = "doneExport,auditExport")
    private String cashTimeStr;//报销日期，导出用

    @ApiModelProperty("报销总金额")
    @Excel(name = "报销总金额",exportFlag = "doneExport,auditExport")
    private Double totalAmount;//报销总金额

    @ApiModelProperty("报销单所属项目id")
    private Long productId;

    @ApiModelProperty("删除标识")
    private String delFlag;

    @ApiModelProperty("报销单创建人userid")
    private Long belongId;
    private String taskName ;
    private String taskId ;
    private Double totalAmountMin ;
    private Double totalAmountMax ;
    /** 开始时间 */
    private Date instanceStartTime;

    /** 结束时间 */
    @Excel(name = "办理时间",exportFlag = "doneExport" ,dateFormat="yyyy-MM-dd HH:mm:ss")
    private Date instanceEndTime;

    /** 流程实例ID */
    private String instanceId;
    @Excel(name = "审核结果",exportFlag = "doneExport")
    private String auditOptionsStr ;

    private Boolean auditOption ;//审核结果

    /*******现金报销单和报销明细主信息打印用字段start**************/
    private String deptNamePrint;//部门
    private String expenseNamePrint;//报销人
    private String expenseTimeYearPrint;//报销日期年
    private String expenseTimeMonPrint;//报销日期月
    private String expenseTimeDayPrint;//报销日期日
    private String cashTimeStartYearPrint;//产生时间开始年
    private String cashTimeStartMonPrint;//产生时间开始月
    private String cashTimeStartDayPrint;//产生时间开始日
    private String cashTimeEndYearPrint;//产生时间结束年
    private String cashTimeEndMonPrint;//产生时间结束月
    private String cashTimeEndDayPrint;//产生时间结束日
    private int invoiceNumPrint;//单据张数
    //private BigDecimal expenseMoneyPrint;//报销金额
    private String expenseMoneyDxPrint;//报销金额大写
    private String productNamePrint;//项目名称
    private String productFinanceNoPrint;//项目财务编号
    private String costTimeStart;
    private String costTimeEnd;

    public String getCostTimeStart() {
        return costTimeStart;
    }

    public void setCostTimeStart(String costTimeStart) {
        this.costTimeStart = costTimeStart;
    }

    public String getCostTimeEnd() {
        return costTimeEnd;
    }

    public void setCostTimeEnd(String costTimeEnd) {
        this.costTimeEnd = costTimeEnd;
    }

    /*******打印用字段end**************/

    public String getDeptNamePrint() {
        return deptNamePrint;
    }

    public void setDeptNamePrint(String deptNamePrint) {
        this.deptNamePrint = deptNamePrint;
    }

    public String getExpenseNamePrint() {
        return expenseNamePrint;
    }

    public void setExpenseNamePrint(String expenseNamePrint) {
        this.expenseNamePrint = expenseNamePrint;
    }

    public String getExpenseTimeYearPrint() {
        return expenseTimeYearPrint;
    }

    public void setExpenseTimeYearPrint(String expenseTimeYearPrint) {
        this.expenseTimeYearPrint = expenseTimeYearPrint;
    }

    public String getExpenseTimeMonPrint() {
        return expenseTimeMonPrint;
    }

    public void setExpenseTimeMonPrint(String expenseTimeMonPrint) {
        this.expenseTimeMonPrint = expenseTimeMonPrint;
    }

    public String getExpenseTimeDayPrint() {
        return expenseTimeDayPrint;
    }

    public void setExpenseTimeDayPrint(String expenseTimeDayPrint) {
        this.expenseTimeDayPrint = expenseTimeDayPrint;
    }

    public String getCashTimeStartYearPrint() {
        return cashTimeStartYearPrint;
    }

    public void setCashTimeStartYearPrint(String cashTimeStartYearPrint) {
        this.cashTimeStartYearPrint = cashTimeStartYearPrint;
    }

    public String getCashTimeStartMonPrint() {
        return cashTimeStartMonPrint;
    }

    public void setCashTimeStartMonPrint(String cashTimeStartMonPrint) {
        this.cashTimeStartMonPrint = cashTimeStartMonPrint;
    }

    public String getCashTimeStartDayPrint() {
        return cashTimeStartDayPrint;
    }

    public void setCashTimeStartDayPrint(String cashTimeStartDayPrint) {
        this.cashTimeStartDayPrint = cashTimeStartDayPrint;
    }

    public String getCashTimeEndYearPrint() {
        return cashTimeEndYearPrint;
    }

    public void setCashTimeEndYearPrint(String cashTimeEndYearPrint) {
        this.cashTimeEndYearPrint = cashTimeEndYearPrint;
    }

    public String getCashTimeEndMonPrint() {
        return cashTimeEndMonPrint;
    }

    public void setCashTimeEndMonPrint(String cashTimeEndMonPrint) {
        this.cashTimeEndMonPrint = cashTimeEndMonPrint;
    }

    public String getCashTimeEndDayPrint() {
        return cashTimeEndDayPrint;
    }

    public void setCashTimeEndDayPrint(String cashTimeEndDayPrint) {
        this.cashTimeEndDayPrint = cashTimeEndDayPrint;
    }

    public int getInvoiceNumPrint() {
        return invoiceNumPrint;
    }

    public void setInvoiceNumPrint(int invoiceNumPrint) {
        this.invoiceNumPrint = invoiceNumPrint;
    }


    public String getExpenseMoneyDxPrint() {
        return expenseMoneyDxPrint;
    }

    public void setExpenseMoneyDxPrint(String expenseMoneyDxPrint) {
        this.expenseMoneyDxPrint = expenseMoneyDxPrint;
    }

    public String getProductNamePrint() {
        return productNamePrint;
    }

    public void setProductNamePrint(String productNamePrint) {
        this.productNamePrint = productNamePrint;
    }

    public String getProductFinanceNoPrint() {
        return productFinanceNoPrint;
    }

    public void setProductFinanceNoPrint(String productFinanceNoPrint) {
        this.productFinanceNoPrint = productFinanceNoPrint;
    }



    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Date getExpenseTime() {
        return expenseTime;
    }

    public void setExpenseTime(Date expenseTime) {
        this.expenseTime = expenseTime;
    }

    public String getExpenseName() {
        return expenseName;
    }

    public void setExpenseName(String expenseName) {
        this.expenseName = expenseName;
    }

    public Date getCashTimeStart() {
        return cashTimeStart;
    }

    public void setCashTimeStart(Date cashTimeStart) {
        this.cashTimeStart = cashTimeStart;
    }

    public Date getCashTimeEnd() {
        return cashTimeEnd;
    }

    public void setCashTimeEnd(Date cashTimeEnd) {
        this.cashTimeEnd = cashTimeEnd;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public void setInstanceStartTime(Date instanceStartTime)
    {
        this.instanceStartTime = instanceStartTime;
    }

    public Date getInstanceStartTime()
    {
        return instanceStartTime;
    }
    public void setInstanceEndTime(Date instanceEndTime)
    {
        this.instanceEndTime = instanceEndTime;
    }

    public Date getInstanceEndTime()
    {
        return instanceEndTime;
    }
    public void setInstanceId(String instanceId)
    {
        this.instanceId = instanceId;
    }

    public String getInstanceId()
    {
        return instanceId;
    }



    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Long getBelongId() {
        return belongId;
    }

    public void setBelongId(Long belongId) {
        this.belongId = belongId;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public Double getTotalAmountMin() {
        return totalAmountMin;
    }

    public void setTotalAmountMin(Double totalAmountMin) {
        this.totalAmountMin = totalAmountMin;
    }

    public Double getTotalAmountMax() {
        return totalAmountMax;
    }

    public void setTotalAmountMax(Double totalAmountMax) {
        this.totalAmountMax = totalAmountMax;
    }

    public String getCashTimeStr() {
        return cashTimeStr;
    }

    public void setCashTimeStr(String cashTimeStr) {
        this.cashTimeStr = cashTimeStr;
    }


    public String getAuditOptionsStr() {
        return auditOptionsStr;
    }

    public void setAuditOptionsStr(String auditOptionsStr) {
        this.auditOptionsStr = auditOptionsStr;
    }

    public Boolean getAuditOption() {
        return auditOption;
    }

    public void setAuditOption(Boolean auditOption) {
        this.auditOption = auditOption;
    }
}
